<page-header [title]="'应用信息列表'"></page-header>
<nz-card [nzBordered]="false">
  <form nz-form [nzLayout]="'inline'" (ngSubmit)="getNewData()" class="search__form">
    <nz-row [nzGutter]="{ md: 8, lg: 24, xl: 48 }">
      <nz-col nzMd="8" nzSm="24">
        <nz-form-item>
          <nz-form-label nzFor="no">规则编号</nz-form-label>
          <nz-form-control>
            <input nz-input [(ngModel)]="q.no" name="no" placeholder="请输入" id="no">
          </nz-form-control>
        </nz-form-item>
      </nz-col>
      <nz-col nzMd="8" nzSm="24">
        <nz-form-item>
          <nz-form-label nzFor="status">使用状态</nz-form-label>
          <nz-form-control>
            <nz-select [(ngModel)]="q.status" name="status" id="status" [nzPlaceHolder]="'请选择'" [nzShowSearch]="true">
              <nz-option *ngFor="let i of status; let idx = index" [nzLabel]="i.text" [nzValue]="idx"></nz-option>
            </nz-select>
          </nz-form-control>
        </nz-form-item>
      </nz-col>
      <nz-col nzMd="8" nzSm="24" *ngIf="expandForm">
        <nz-form-item>
          <nz-form-label nzFor="callNo">调用次数</nz-form-label>
          <nz-form-control>
            <input nz-input id="callNo">
          </nz-form-control>
        </nz-form-item>
      </nz-col>
      <nz-col nzMd="8" nzSm="24" *ngIf="expandForm">
        <nz-form-item>
          <nz-form-label nzFor="updatedAt">更新日期</nz-form-label>
          <nz-form-control>
          </nz-form-control>
        </nz-form-item>
      </nz-col>
      <nz-col nzMd="8" nzSm="24" *ngIf="expandForm">
        <nz-form-item>
          <nz-form-label nzFor="status2">使用状态</nz-form-label>
          <nz-form-control>
            <nz-select [nzPlaceHolder]="'请选择'" nzId="status2" [nzShowSearch]="true">
              <nz-option *ngFor="let i of status; let idx = index" [nzLabel]="i.text" [nzValue]="idx"></nz-option>
            </nz-select>
          </nz-form-control>
        </nz-form-item>
      </nz-col>
      <nz-col nzMd="8" nzSm="24" *ngIf="expandForm">
        <nz-form-item>
          <nz-form-label nzFor="status3">使用状态</nz-form-label>
          <nz-form-control>
            <nz-select [nzPlaceHolder]="'请选择'" nzId="status3" [nzShowSearch]="true">
              <nz-option *ngFor="let i of status; let idx = index" [nzLabel]="i.text" [nzValue]="idx"></nz-option>
            </nz-select>
          </nz-form-control>
        </nz-form-item>
      </nz-col>
      <nz-col [nzSpan]="expandForm ? 24 : 8" [class.text-right]="expandForm">
        <button nz-button type="submit" [nzType]="'primary'" [nzLoading]="loading">查询</button>
        <button nz-button type="reset" (click)="getData()" class="mx-sm">重置</button>
        <a (click)="expandForm=!expandForm">
          {{expandForm ? '收起' : '展开'}}
          <i class="anticon" [class.anticon-down]="!expandForm" [class.anticon-up]="expandForm"></i>
        </a>
      </nz-col>
    </nz-row>
  </form>
  <button nz-button (click)="add(modalContent)" [nzType]="'primary'">
    <i class="anticon anticon-plus"></i>
    <span>新建</span>
  </button>
  <ng-container *ngIf="selectedRows.length > 0">
    <button nz-button class="ml-sm">批量操作</button>
    <nz-dropdown [nzPlacement]="'bottomLeft'">
      <button nz-button nz-dropdown class="ml-sm">
        更多操作
        <i class="anticon anticon-down"></i>
      </button>
      <ul nz-menu>
        <li nz-menu-item (click)="remove()">删除</li>
        <li nz-menu-item (click)="approval()">批量审批</li>
      </ul>
    </nz-dropdown>
  </ng-container>
  <div class="my-md">
    <nz-alert [nzType]="'info'" [nzShowIcon]="true" [nzMessage]="message">
      <ng-template #message>
        已选择
        <strong class="text-primary">{{selectedRows.length}}</strong> 项&nbsp;&nbsp; 服务调用总计
        <strong>{{totalCallNo}}</strong> 万
        <a *ngIf="totalCallNo > 0" (click)="st.clearCheck()" class="ml-lg">清空</a>
      </ng-template>
    </nz-alert>
  </div>
  <st #st [columns]="columns" [data]="data" [loading]="loading" (checkboxChange)="checkboxChange($event)" (filterChange)="getData()">
    <ng-template st-row="status" let-i>
      <nz-badge [nzStatus]="i.statusType" [nzText]="i.statusText"></nz-badge>
    </ng-template>
  </st>
</nz-card>
<ng-template #modalContent>
    <form nz-form [formGroup]="validateForm" >
        <nz-form-item>
          <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="appName">应用名称</nz-form-label>
          <nz-form-control [nzSm]="14" [nzXs]="24">
            <input nz-input formControlName="appName" id="appName">
            <nz-form-explain *ngIf="validateForm.get('appName').dirty && validateForm.get('appName').errors">The input is not valid E-mail!</nz-form-explain>
          </nz-form-control>
        </nz-form-item>
        <nz-form-item>
          <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="description">描述</nz-form-label>
          <nz-form-control [nzSm]="14" [nzXs]="24">
            <input nz-input formControlName="description" id="description">
            <nz-form-explain *ngIf="validateForm.get('description').dirty && validateForm.get('description').errors">The input is not valid E-mail!</nz-form-explain>
          </nz-form-control>
        </nz-form-item>
    </form>
</ng-template>
<nz-modal [(nzVisible)]="isVisible" nzTitle="修改应用界面" (nzOnCancel)="handleCancel()" (nzOnOk)="handleOk()" [nzOkLoading]="isOkLoading">
    <form nz-form [formGroup]="validateForm" >
        <nz-form-item>
          <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="appName">应用名称</nz-form-label>
          <nz-form-control [nzSm]="14" [nzXs]="24">
            <input nz-input formControlName="appName" id="appName">
            <nz-form-explain *ngIf="validateForm.get('appName').dirty && validateForm.get('appName').errors">The input is not valid E-mail!</nz-form-explain>
          </nz-form-control>
        </nz-form-item>
        <nz-form-item>
          <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="description">描述</nz-form-label>
          <nz-form-control [nzSm]="14" [nzXs]="24">
            <input nz-input formControlName="description" id="description">
            <nz-form-explain *ngIf="validateForm.get('description').dirty && validateForm.get('description').errors">The input is not valid E-mail!</nz-form-explain>
          </nz-form-control>
        </nz-form-item>
    </form>
</nz-modal>

